--[[
  class: Common.WeaponOption

  Common weapon option class.

  This will affect to all spawned weapons with given weapon ID.

  For example, if you modify the WeaponOption of the AK-47, all AK-47s used in the game will reflect the modified stats.

  <Common.UseWeaponInven> is REQUIRED to be enabled::
]]


--[[
  int: weaponid

  The weapon ID.

  Data Type: int / <Common.WEAPON>::
  Access: Read-Only::
]]
Common.​WeaponOption.weaponid


--[[
  table: user

  Table for storing user-made data.

  Data Type: table::
  Access: Read-Write::
]]
Common.​WeaponOption.user


--[[
  int: price

  The weapon price.

  Warnings:
    - <Common.SetNeedMoney> is REQUIRED to be enabled.

  Data Type: int::
  Access: Read-Write::
]]
Common.​WeaponOption.price


--[[
  number: damage

  The base damage multiplier.

  Notes:
    - Higher means more power.

  Data Type: number::
  Access: Read-Write::
]]
Common.​WeaponOption.damage


--[[
  number: penetration

  The bullet penetration power multiplier.

  Notes:
    - Higher means more power.

  Data Type: number::
  Access: Read-Write::
]]
Common.​WeaponOption.penetration


--[[
  number: rangemod

  The damage power multiplier over hit distance.

  Notes:
    - Higher means more power.

  Data Type: number::
  Access: Read-Write::
]]
Common.​WeaponOption.rangemod


--[[
  number: cycletime

  The bullet firing delay multiplier.

  Notes:
    - Lower means faster.

  Data Type: number::
  Minimum Value: 0.1::
  Access: Read-Write::
]]
Common.​WeaponOption.cycletime


--[[
  number: reloadtime

  The ammo reloading delay multiplier.

  Notes:
    - Lower means faster.

  Data Type: number::
  Access: Read-Write::
]]
Common.​WeaponOption.reloadtime


--[[
  number: accuracy

  The weapon accuracy multiplier.

  Notes:
    - Higher means more accurate.

  Data Type: number::
  Access: Read-Write::
]]
Common.​WeaponOption.accuracy


--[[
  number: spread

  The bullet shoot spreading multiplier.

  Notes:
    - Higher means larger spread area.

  Data Type: number::
  Access: Read-Write::
]]
Common.​WeaponOption.spread


--[[
  method: Create

  Get the global instance for given weapon ID.

  Notes:
    - Undocumented in official website.

  Access: Read-Only::

  Parameters:
    weaponid - (*int / <Common.WEAPON>*) The given weapon ID.

  Returns:
    (*<Common.WeaponOption> / nil*) The weapon option instance (nil = Invalid weapon ID).

  See Also:
    - <Common.GetWeaponOption>
]]
function Common.​WeaponOption.Create (weaponid)


--[[
  method: SetBulletColor

  Set the weapon bullet tracer color while firing.

  Access: Read-Only::

  Parameters:
    color - (*table / <~Virtual Table.color>*) The color properties to set.
]]
function Common.​WeaponOption:SetBulletColor (color)

